package com.xxxx.server.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * FasfDFS工具类
 *
 * @author zhoubin
 * @since 1.0.0
 */
public class FastDFSUtils {

	private static Logger logger = LoggerFactory.getLogger(FastDFSUtils.class);

//	/**
//	 * 初始化客户端
//	 * ClientGlobal.init 读取配置文件，并初始化对应的属性
//	 */
//	static {
//		try {
//			String filePath = new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();
//			ClientGlobal.init(filePath);
//		} catch (Exception e) {
//			logger.error("初始化FastDFS失败", e.getMessage());
//		}
//	}
//
//	/**
//	 * 上传文件
//	 *
//	 * @param file
//	 * @return
//	 */
//	public static String[] upload(MultipartFile file) {
//		String name = file.getOriginalFilename();
//		logger.info("文件名：", name);
//		StorageClient storageClient = null;
//		String[] uploadResults = null;
//		try {
//			//获取storage客户端
//			storageClient = getStorageClient();
//			//上传
//			uploadResults = storageClient.upload_file(file.getBytes(), name.substring(name.lastIndexOf(".") + 1),
//					null);
//		} catch (Exception e) {
//			logger.error("上传文件失败", e.getMessage());
//		}
//		if (null == uploadResults) {
//			logger.error("上传失败", storageClient.getErrorCode());
//		}
//		return uploadResults;
//	}
//
//	/**
//	 * 获取文件信息
//	 *
//	 * @param groupName
//	 * @param remoteFileName
//	 * @return
//	 */
//	public static FileInfo getFileInfo(String groupName, String remoteFileName) {
//		StorageClient storageClient = null;
//		try {
//			storageClient = getStorageClient();
//			return storageClient.get_file_info(groupName, remoteFileName);
//		} catch (Exception e) {
//			logger.error("文件信息获取失败", e.getMessage());
//		}
//		return null;
//	}
//
//	/**
//	 * 下载文件
//	 *
//	 * @param groupName
//	 * @param remoteFileName
//	 * @return
//	 */
//	public static InputStream downFile(String groupName, String remoteFileName) {
//		StorageClient storageClient = null;
//		try {
//			storageClient = getStorageClient();
//			byte[] fileByte = storageClient.download_file(groupName, remoteFileName);
//			InputStream inputStream = new ByteArrayInputStream(fileByte);
//			return inputStream;
//		} catch (Exception e) {
//			logger.error("文件下载失败", e.getMessage());
//		}
//		return null;
//	}
//
//	/**
//	 * 删除文件
//	 *
//	 * @param groupName
//	 * @param remoteFileName
//	 */
//	public static void deleteFile(String groupName, String remoteFileName) {
//		StorageClient storageClient = null;
//		try {
//			storageClient = getStorageClient();
//			storageClient.delete_file(groupName, remoteFileName);
//		} catch (Exception e) {
//			logger.error("文件删除失败", e.getMessage());
//		}
//	}
//
//
//	/**
//	 * 生成storage客户端
//	 *
//	 * @return
//	 * @throws IOException
//	 */
//	private static StorageClient getStorageClient() throws IOException {
//		TrackerServer trackerServer = getTrackerServer();
//		StorageClient storageClient = new StorageClient(trackerServer, null);
//		return storageClient;
//	}
//
//
//	/**
//	 * 生成tracker服务器
//	 *
//	 * @return
//	 * @throws IOException
//	 */
//	private static TrackerServer getTrackerServer() throws IOException {
//		TrackerClient trackerClient = new TrackerClient();
//		TrackerServer trackerServer = trackerClient.getTrackerServer();
//		return trackerServer;
//	}
//
//
//	/**
//	 * 获取文件路径
//	 *
//	 * @return
//	 */
//	public static String getTrackerUrl() {
//		TrackerClient trackerClient = new TrackerClient();
//		TrackerServer trackerServer = null;
//		StorageServer storeStorage = null;
//		try {
//			trackerServer = trackerClient.getTrackerServer();
//			storeStorage = trackerClient.getStoreStorage(trackerServer);
//		} catch (Exception e) {
//			logger.error("文件路径获取失败", e.getMessage());
//		}
//		return "http://" + storeStorage.getInetSocketAddress().getHostString() + ":8888/";
//	}

}